package com.ruoyi.project.dict.shuowenpage.service.impl;

import com.ruoyi.common.utils.text.Convert;
import com.ruoyi.framework.aspectj.lang.annotation.DataSource;
import com.ruoyi.framework.aspectj.lang.enums.DataSourceType;
import com.ruoyi.project.dict.shuowenpage.domain.ShuowenPage;
import com.ruoyi.project.dict.shuowenpage.mapper.ShuowenPageMapper;
import com.ruoyi.project.dict.shuowenpage.service.IShuowenPageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 说文解字Service业务层处理
 *
 * @author shixiangwen
 * @date 2022-05-27
 */
@Service
@DataSource(DataSourceType.DICT)
public class ShuowenPageServiceImpl implements IShuowenPageService {
    @Autowired
    private ShuowenPageMapper shuowenPageMapper;

    /**
     * 查询说文解字
     *
     * @param id 说文解字ID
     * @return 说文解字
     */
    @Override
    public ShuowenPage selectShuowenPageById(Long id) {
        ShuowenPage shuowenPage = shuowenPageMapper.selectShuowenPageById(id);
        shuowenPage.setZi(new String(shuowenPage.getZiBytes()));
        return shuowenPage;
    }

    /**
     * 查询说文解字列表
     *
     * @param shuowenPage 说文解字
     * @return 说文解字
     */
    @Override
    public List<ShuowenPage> selectShuowenPageList(ShuowenPage shuowenPage) {
        List<ShuowenPage> shuowenPages = shuowenPageMapper.selectShuowenPageList(shuowenPage);
        shuowenPages.forEach(item -> {
            item.setZi(new String(item.getZiBytes()));
        });
        return shuowenPages;
    }

    /**
     * 新增说文解字
     *
     * @param shuowenPage 说文解字
     * @return 结果
     */
    @Override
    public int insertShuowenPage(ShuowenPage shuowenPage) {
        return shuowenPageMapper.insertShuowenPage(shuowenPage);
    }

    /**
     * 修改说文解字
     *
     * @param shuowenPage 说文解字
     * @return 结果
     */
    @Override
    public int updateShuowenPage(ShuowenPage shuowenPage) {
        return shuowenPageMapper.updateShuowenPage(shuowenPage);
    }

    /**
     * 删除说文解字对象
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deleteShuowenPageByIds(String ids) {
        return shuowenPageMapper.deleteShuowenPageByIds(Convert.toStrArray(ids));
    }

    /**
     * 删除说文解字信息
     *
     * @param id 说文解字ID
     * @return 结果
     */
    @Override
    public int deleteShuowenPageById(Long id) {
        return shuowenPageMapper.deleteShuowenPageById(id);
    }
}
